﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dillon.CSV
{
    /// <summary>
    /// Lexer interface
    /// </summary>
    interface ILexer : IDisposable
    {

        Errors Errors
        {
            get;
        }

        /// <summary>
        /// The current Token. 
        /// </summary>
        Token Token
        {
            get;
        }

        /// <summary>
        /// The next Token.
        /// </summary>
        Token Next
        {
            get;
        }


        /// <summary>
        /// Reads the next token and gives it back.
        /// </summary>
        /// <returns>An <see cref="Token"/> object.</returns>
        Token MoveToNextToken();

    }
}
